home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr47 / wasm223.zip / CRC.C < prev    next >
Text File  |  1993-05-04  |  1KB  |  34 lines

  1. /************************************************************************
  2.  CRC Generator
  3.  
  4.  This routine updates a CRC value by one byte.  The machine code (i.e.
  5.  the arguments for __emit__) was created from the file CRC_TC.ASM.  To
  6.  use this routine, first compile this file and link the resulting OBJ
  7.  file with with the program using crc16.  A routine to generate an 
  8.  xmodem CRC value for a sequence of bytes could be written as:
  9.  
  10.     unsigned crc_of_block (char block[], unsigned blocksize)
  11.     {
  12.       unsigned i, crcval = 0;
  13.       for (i = 0; i < blocksize; i++)
  14.         crc16 (&crcval, block[i]);
  15.       crc16 (&crcval, 0);
  16.       crc16 (&crcval, 0);
  17.       return crcval;
  18.     }
  19. ************************************************************************/
  20.  
  21. #include <dos.h>
  22. #include "crc.h"
  23.  
  24. #pragma warn -par
  25. void far crc16 (unsigned int far *crc, char data)
  26. {
  27.   __emit__ (
  28.     0x1E,0x8A,0x46,0x0A,0xC5,0x5E,0x06,0x8B,0x17,0xB9,
  29.     0x08,0x00,0xD0,0xE0,0xD1,0xD2,0x73,0x04,0x81,0xF2,
  30.     0x21,0x10,0xE2,0xF4,0x89,0x17,0x1F
  31.   );
  32. }
  33. #pragma warn .par
  34.